/* Global interactive-control polish: readable text and true vertical centering. */
:root{--control-font-min:14px;--control-line:1.25;--control-height:46px}

button,[role="button"],summary{line-height:var(--control-line);font-size:max(var(--control-font-min),1em)}

.btn,a.btn,label.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:var(--control-height);
  padding:9px 13px;
  line-height:var(--control-line);
  font-size:max(var(--control-font-min),1em);
  text-decoration:none;
  vertical-align:middle;
}
label.btn{grid-template-columns:none;gap:0;color:inherit}

input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),select,textarea{
  min-height:var(--control-height);
  padding:10px 12px;
  line-height:1.3;
  font-size:16px;
}
select{padding-top:0;padding-bottom:0}

nav button{font-size:13px;line-height:1.15}
.badge,.pill{font-size:12px;line-height:1.2}
.status button,.scale button{font-size:13px;line-height:1.2}
.text-btn{font-size:13px!important;line-height:1.2;min-height:40px}

/* Text inside clickable cards should never be micro-copy. */
.app-menu b{font-size:14px!important}.app-menu small{font-size:12px!important;line-height:1.3!important}
.action-tile b{font-size:14px!important}.action-tile small{font-size:12px!important;line-height:1.35!important}
.family-row .family-main b{font-size:14px!important}.family-row .family-main small{font-size:12px!important;line-height:1.3}
.overview-card span{font-size:11px!important}.overview-card small{font-size:12px!important;line-height:1.25}
button.tree-node b{font-size:13px!important}button.tree-node small,button.tree-node em,button.tree-node .tree-sex{font-size:11px!important;line-height:1.25}

/* Selection / breeding-intelligence controls. */
.intel-status-grid button{font-size:13px!important}
.intel-rank-row b{font-size:13px!important}.intel-rank-row small{font-size:11px!important;line-height:1.3}.intel-rank-row strong small{font-size:10px!important}
.intel-mini-list b{font-size:13px!important}.intel-mini-list small{font-size:11px!important;line-height:1.3}.intel-mini-list strong{font-size:12px!important}
.intel-check small{font-size:11px!important;line-height:1.3}

/* Family browser controls. */
.family-browser .family-filter{font-size:13px!important;min-height:42px!important}
.family-browser .family-summary-grid>button span{font-size:11px!important}.family-browser .family-summary-grid>button b{font-size:20px!important}
.family-browser button.priority-plant b,.family-browser button.family-seedling b{font-size:13px!important}
.family-browser button.priority-plant small,.family-browser button.family-seedling small{font-size:11px!important;line-height:1.3}
.family-browser button .status-chip{font-size:11px!important}
.family-browser .family-batch summary .family-batch-stats span{font-size:11px!important}
.family-browser .family-batch summary .current-badge{font-size:10px!important}

/* Batch Command Center / plant workflow controls. */
.v23-status-metrics>button span{font-size:11px!important}.v23-status-metrics>button b{font-size:20px!important}
.v23-filter-chips button{font-size:13px!important;min-height:40px!important}
.v23-seedling-main b{font-size:13px!important}.v23-seedling-main small{font-size:11px!important;line-height:1.3}
.v23-seedling .v23-status-chip{font-size:11px!important}
.v23-status-buttons button{font-size:13px!important}

/* Keep large primary actions visually centered even when another stylesheet made them block elements. */
.simple-analyze{display:flex!important;align-items:center;justify-content:center}

/* Clickable disclosure rows should be comfortably tappable and readable. */
details>summary{min-height:40px;display:flex;align-items:center;padding:7px 0;font-size:14px}

@media(max-width:430px){
  :root{--control-font-min:14px;--control-height:46px}
  nav button{font-size:13px}
}
