/* MintQI — authoritative control sizing for the Admin Centre and Client Portal.
   Loaded LAST so it replaces the earlier stacked "compact" passes. One scale:
   primary 36px · login 40px · navigation 36px · table/inline 28px · icon 34px. */
html body button,
html body .btn,
html body a.btn{
  height:auto;min-height:36px;padding:7px 16px;
  font-size:.82rem;line-height:1.2;font-weight:700;
  width:auto;max-width:100%;gap:8px;box-shadow:none;
}
html body button:hover,html body .btn:hover{box-shadow:0 3px 9px rgba(8,126,85,.14)}

/* Form actions stay content-sized instead of stretching across the card. */
html body form button,
html body form .btn,
html body .form-grid .field.full > button{
  width:auto;min-width:150px;justify-self:start;align-self:start;
}

/* Sign-in controls: clear and tappable, never oversized. */
html body #login button,
html body #login .btn,
html body #login #loginBtn,
html body #login #requestSubmit{
  min-height:40px;height:auto;padding:9px 18px;font-size:.88rem;
  width:100%;max-width:320px;margin:10px auto 0;display:flex;
}
html body #login form button,
html body #login #requestSubmit{justify-self:center;margin-left:auto;margin-right:auto}

/* Navigation — same height on admin and client, every breakpoint. */
html body .side button,
html body.sidebar-collapsed .side button{
  min-height:36px;padding-top:6px;padding-bottom:6px;line-height:1.2;
}
html body:not(.sidebar-collapsed) .side button{padding-left:12px;padding-right:12px;font-size:.82rem}

/* Icon and compact controls. */
html body .nav-toggle{width:34px;height:34px;min-width:34px;min-height:34px;padding:0;font-size:1.1rem}
html body .wa-nav-icon,html body .wa-footer-icon{width:30px;height:30px;min-width:30px;min-height:0;padding:0}
html body td button,html body td .btn,html body .ticket button,html body .ticket .btn{min-height:28px;padding:4px 10px;font-size:.76rem}

/* Touch devices keep a comfortable hit area without growing the visuals. */
@media (pointer:coarse){
  html body td button,html body td .btn,html body .ticket button{min-height:32px}
}
@media (max-width:560px){
  html body button,html body .btn{padding:7px 14px;font-size:.8rem}
  html body #login button,html body #login .btn{max-width:100%}
  html body form button,html body form .btn{min-width:0}
}

/* Profile photo fallback: no broken-image icon when a Google account has no photo. */
.profile img[src=""],.profile img:not([src]){display:none}
