/* Compact controls retain a 44px touch target on touch devices. No grid backgrounds. */
:root{--v54-edge:rgba(72,204,241,.36);--v54-glow:rgba(0,191,235,.17)}
body button,body .btn,body .v51-button,body .v33-btn,body .nx-hub-button,body a.btn{min-height:32px;padding:6px 11px;border-radius:9px;font-size:12pt;line-height:1.2;letter-spacing:.01em;transition:box-shadow .18s,border-color .18s,transform .18s}
body button:not(:disabled):hover,body .btn:hover,body .v51-button:hover{border-color:#168da7;box-shadow:0 0 0 1px var(--v54-edge),0 0 13px var(--v54-glow)}
body button:focus-visible,body .btn:focus-visible,body a:focus-visible{outline:2px solid #13afcb;outline-offset:3px}
body.dark button,body.dark .btn,[data-theme="dark"] button,[data-theme="dark"] .btn{background:linear-gradient(145deg,#132537,#091725);color:#e5f2fa;border:1px solid #2a6377;box-shadow:inset 0 1px 0 #ffffff0b,0 2px 9px #0003}
.v54-page{max-width:1600px;margin:auto;padding:18px}.v54-toolbar{display:flex;align-items:end;gap:9px;flex-wrap:wrap;margin:12px 0}.v54-toolbar label{display:grid;gap:5px}.v54-toolbar input,.v54-toolbar select{min-height:34px;max-width:100%}.v54-metrics{display:flex;gap:14px;flex-wrap:wrap}.v54-metrics article{flex:1 1 190px;border:1px solid #25869a44;border-radius:14px;padding:16px;background:linear-gradient(135deg,#1a729511,#4962b30b)}.v54-metrics strong{font-size:20pt;display:block}.v54-formpages{overflow:auto;max-height:75vh;background:#1c2e40;padding:12px}.v54-paper{position:relative;background:white;color:#101820;margin:0 auto 15px;max-width:100%;box-shadow:0 7px 20px #0005}.v54-paper canvas{width:100%;display:block}.v54-paper input,.v54-paper textarea,.v54-paper select{position:absolute;margin:0;padding:1px!important;border:1px solid #1684af7a!important;background:#e1f6ffb8!important;color:#10212e!important;border-radius:1px!important;font:10px 'Times New Roman',serif;min-height:0!important;box-sizing:border-box}.v54-paper input[type="checkbox"]{appearance:auto}.v54-notice{border-left:3px solid #2598b5;padding:10px 14px;background:#2685a510}.v54-tablewrap{overflow:auto}.v54-tablewrap th,.v54-tablewrap td{padding:10px 12px;text-align:left}.v54-card{padding:16px;border:1px solid #288eaa55;border-radius:14px;margin:12px 0}.v54-editgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.v54-editgrid label{display:grid;gap:6px}.v54-plot{display:block;width:100%;height:auto}.v54-plot text{fill:currentColor;font:14px 'Times New Roman',serif}
@media(pointer:coarse){body button,body .btn,body .v51-button,body .v33-btn{min-height:44px;padding:9px 12px}}
@media(prefers-reduced-motion:reduce){body button,body .btn{transition:none}}
@media print{.v54-toolbar,.v54-actions{display:none!important}.v54-page{padding:0}.v54-metrics article{break-inside:avoid}}
/* Last-loaded override keeps existing Hub-specific control rules compact. */
body button,body .btn,body .v51-button,body .v33-btn,body a.btn{min-height:32px!important;padding:6px 11px!important;border-radius:9px!important;font-size:12pt!important;line-height:1.2!important}
@media(pointer:coarse){body button,body .btn,body .v51-button,body .v33-btn,body a.btn{min-height:44px!important;padding:9px 12px!important}}
